home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / fortran-to-c-translator-11 / Mac F2C 1.1 / Mac F2C Documentation / Mac F2C AppleEvents / Mac F2C AppleEvents Info next >
Text File  |  1995-01-13  |  10KB  |  235 lines

  1.     **************************************
  2.     **************************************
  3.  
  4.         APPLE EVENTS AND Mac F2C v1.1
  5.  
  6.     **************************************
  7.     **************************************
  8.  
  9.  
  10.  
  11. ** INTRODUCTION AND QUICK-START **
  12.  
  13. Mac F2C is Apple Event savvy.  It support drag-&-drop translation.  More 
  14. importantly, you can drive Mac F2C translations entirely using Apple 
  15. Events.  Mac F2C provides two different specialized translation events.  
  16. One (the 'f2c' event allows you to pass option choices in a UNIX-style 
  17. option string (see "UNIX f2c Option Switch Syntax" for more information on 
  18. the UNIX-style switches).  The other (the 'translate' event) lets you pass 
  19. option choices just like you would in the various options dialog.  They 
  20. also differ in that you can pass a list of files to the first, but only a 
  21. single file to the second.  Which you use is purely a matter of personal 
  22. choice.
  23.  
  24. Two sample Apple Scripts are enclosed.  They were written using v1.1 of the 
  25. AppleScriptâ„¢ extension and v1.1 of the AppleScript Editor.  The script 
  26. "Sample Mac F2C Script 1" illustrates how to use the 'f2c' event.  The 
  27. script "Sample Mac F2C Script 2" illustrates how to use the 'translate' 
  28. event.  If you use AppleScript, simply modify these scripts to meet your 
  29. needs.  Mac F2C includes a full 'aete' resource, so its dictionary 
  30. provides detailed information on the exact syntax of the Apple Events 
  31. supported by Mac F2C.
  32.  
  33. The remainder of this document provides more detailed information for users 
  34. who wish to know more about the Mac F2C Apple Events.  In particular, the 
  35. information below has all the information needed to write code that sends 
  36. Apple Events to Mac F2C.
  37.  
  38.  
  39.  
  40.  
  41. ** Mac F2C APPLE EVENTS: THE DETAILS **
  42.  
  43.  
  44. REQUIRED APPLE EVENTS
  45.  
  46. Mac F2C supports the four required Apple Events: open application, open 
  47. documents, print documents, and quit application.  These events behave as 
  48. follows:
  49.  
  50.     - open application:     No unique actions are performed.
  51.     
  52.     - open documents:       Documents listed are translated into C using the 
  53.                             default options settings.  An error message is 
  54.                             issued if the document name does not end in '.f' or 
  55.                             '.F'.  An open event is equivalent to a 'translate' 
  56.                             event (see below) with no optional parameters. 
  57.                         
  58.     - print documents:      Silently ignored; Mac F2C does not print anything.
  59.     
  60.     - quit application:     Quits Mac F2C.
  61.     
  62. Note that Mac F2C does not own any files (i.e., there are no files of type 
  63. Mac F2C except for the application itself).  The open event is used to 
  64. support drag-&-drop operation.  This allows you to translate a bunch of 
  65. FORTRAN files by dragging them and dropping them on top of Mac F2C.
  66.  
  67.  
  68. THE Mac F2C SUITE
  69.  
  70. The Mac F2C Suite is a set of Apple events that can be used to control the 
  71. translation of FORTRAN files to C files.  The Mac F2C suite consists of two 
  72. events differing in how options are passed to the f2c kernel.  The first 
  73. event mimics the operation of the original f2c program on UNIX machines.  
  74. Options for the f2c kernel are passed as a single string of UNIX-style 
  75. option settings.  The second event mimics the operation of Mac F2C.  
  76. Options for the f2c kernel are passed by specifying the values of the 
  77. check-boxes, radio-buttons, and edit-fields found in the various Mac F2C 
  78. option dialogs.
  79.  
  80. These two events are:
  81.  
  82. Name                Requested Action
  83. ----                ----------------
  84. f2c                 Translate the specified files (one or more) from 
  85.                     FORTRAN to C using a UNIX-style string of options.
  86.                     
  87. translate           Translate the specified file (only one) from FORTRAN 
  88.                     to C setting options by setting choices in the options 
  89.                     dialogs.
  90.  
  91. More detailed event descriptions follow:
  92.  
  93.  
  94.  
  95. f2c 
  96. ~~~ 
  97.  
  98. This event will have Mac F2C translate one or more FORTRAN files.  The 
  99. options for the f2c kernel are specified by a UNIX-style set of switches 
  100. (e.g.  "-A -P -w -f"; see "UNIX f2c Option Switch Syntax" for more 
  101. information on the switches and their meaning).
  102.  
  103. Event Class:            kF2CEventClass
  104.  
  105. Event ID:               kAEf2cEvent
  106.  
  107. Parameters:
  108.   keyDirectObject       typeAEList (elements    the list of FORTRAN files 
  109.                         are typeAlias)          to translate
  110.  
  111.   keyUnixCmdStr         typeChar                a UNIX-style option string      
  112.                 
  113.   keyCreatorOption      typeType                the creator OSType for output 
  114.                                                 files
  115.  
  116.   keyThinkOption        typeBoolean             touch the corresponding THINK 
  117.                                                 project file?
  118.  
  119.   keyCWOption           typeBoolean             touch the corresponding 
  120.                                                 CodeWarrior project file?
  121.  
  122.   keyMakeOption         typeBoolean             send THINK/CodeWarrior a
  123.                                                 make command after 
  124.                                                 translation?
  125.  
  126. Reply Parameters:
  127.  
  128.   keyAEResult           typeAEList (elements    the return code from the f2c 
  129.                         are typeInteger         kernel, one per file translated
  130.  
  131.   keyErrorNumber        typeLongInteger         error code if Mac F2C was unable 
  132.                                                 to _process_ your event; not 
  133.                                                 provided if no _processing_ 
  134.                                                 errors occur.  Compile results 
  135.                                                 (including compile errors) are 
  136.                                                 returned in keyAEResult
  137.                                                 
  138.   keyErrorString        typeChar                an error message whenever 
  139.                                                 keyErrorNumber is non-zero
  140.  
  141.  
  142.  
  143. translate 
  144. ~~~~~~~~~ 
  145.  
  146. This event will have Mac F2C translate one FORTRAN file.  The options for 
  147. the f2c kernel are specified by lists of settings corresponding to each of 
  148. the options dialogs in Mac F2C.  Radio-buttons and check-boxes are set by 
  149. boolean values (true means selected or checked, false means unselected or 
  150. unchecked).  Edit-fields are set by short integer values.
  151.  
  152. Event Class:            kF2CEventClass
  153.  
  154. Event ID:               kAETranslateEvent
  155.  
  156. Parameters:
  157.  
  158.   keyDirectObject       typeAlias               the FORTRAN file to translate
  159.  
  160.   keyFortranOptions     typeAEList (elements    the settings of the FORTRAN 
  161.                         are typeBoolean)        Options dialog check-boxes
  162.  
  163.   keyCOptions           typeAEList (elements    the settings of the C Options
  164.                         are typeBoolean)        dialog radio-buttons and 
  165.                                                 check-boxes
  166.  
  167.   keyProtoOptions       typeAEList (elements    the settings of the Prototyping 
  168.                         are typeBoolean)        Options dialog check-boxes
  169.  
  170.   keyWarnOptions        typeAEList (elements    the settings of the Warning 
  171.                         are typeBoolean)        Options dialog check-boxes
  172.  
  173.   keyAdvancedOptions    typeAEList (elements    the numbers in the Advanced 
  174.                         are typeShortInteger)   Options edit-text fields
  175.  
  176.   keyUnixOptions        typeChar                a UNIX-style option string to 
  177.                                                 be appended after all other 
  178.                                                 options                                                                                                             are processed
  179.  
  180.   keyCreatorOption      typeType                the creator OSType for output 
  181.                                                 files
  182.  
  183.   keyThinkOption        typeBoolean             touch the corresponding 
  184.                                                 THINK project file?
  185.  
  186.   keyCWOption           typeBoolean             touch the corresponding 
  187.                                                 CodeWarrior project file?
  188.  
  189.   keyMakeOption         typeBoolean             send THINK/CodeWarrior a 
  190.                                                 'make' command after 
  191.                                                 translation?
  192.  
  193. Reply Parameters:
  194.  
  195.   keyAEResult           typeInteger             the return code from the f2c 
  196.                                                 kernel
  197.  
  198.   keyErrorNumber        typeLongInteger         error code if Mac F2C was unable 
  199.                                                 to _process_ your event; not 
  200.                                                 provided if no _processing_ 
  201.                                                 errors occur.  Compile results 
  202.                                                 (including compile errors) are 
  203.                                                 returned in keyAEResult
  204.  
  205.   keyErrorString        typeChar                an error message whenever
  206.                                                 keyErrorNumber is non-zero
  207.  
  208.  
  209.  
  210. Mac F2C Constants
  211. ~~~~~~~~~~~~~~~~~
  212.  
  213. The following constants are used by the Mac F2C suite.  They also appear in 
  214. the file "MacF2C_AEConstants.h".
  215.  
  216.             kF2CEventClass              'F2Ci'
  217.  
  218.             kAETranslateEvent           'F2C1'
  219.             kAEf2cEvent                 'F2C2'
  220.  
  221.             keyFortranOptions           'F2Cf'      
  222.             keyCOptions                 'F2Cc'      
  223.             keyProtoOptions             'F2Cp'      
  224.             keyWarnOptions              'F2Cw'      
  225.             keyAdvancedOptions          'F2Cn'  
  226.             keyUnixOptions              'F2Cu'  
  227.             keyUnixCmdStr               'F2Cs'  
  228.             keyCreatorOption            'F2Ct'  
  229.             keyThinkOption              'F2CT'
  230.             keyCWOption                 'F2CC'  
  231.             keyMakeOption               'F2Cr'  
  232.  
  233.  
  234.  
  235.